package main

import (
	"context"
	"fmt"

	"github.com/redis/go-redis/v9"
)

func main() {
	// 创建context对象
	ctx := context.Background()
	// 连接redis服务器
	// 创建redis连接对象
	rdb := redis.NewClient(&redis.Options{
		// 配置信息
		Addr:     "192.168.88.11:6379",
		Password: "",
		DB:       0,
	})
	defer rdb.Close() // 关闭连接
	/*
		// 1.字符串
		// 设置
		err := rdb.Set(ctx, "name", "tom", 0).Err()
		if err != nil {
			panic(err)
		}
		// 获取
		val, err := rdb.Get(ctx, "name").Result()
		if err != nil {
			panic(err)
		}
		fmt.Println("name =", val)
		// 批量设置
		book := map[string]interface{}{
			"title": "Golang",
			"price": 66.89,
			"pub":   "Qinghua",
		}
		err := rdb.MSet(ctx, book).Err()
		if err != nil {
			panic(err)
		}
		// 批量获取
		val, err := rdb.MGet(ctx, "title", "price", "pub").Result()
		if err != nil {
			panic(err)
		}
		fmt.Println(val)

		// 删除，允许删除多个
		r, err := rdb.Del(ctx, "price", "name", "pub").Result()
		if err != nil {
			panic(err)
		}
		fmt.Println(r) // 返回删除的数量
	*/
	// rdb.Set(ctx, "num", 10, 0)
	val, _ := rdb.Get(ctx, "num").Result()
	// 返回的值是一个空接口，需要类型断言
	// v, ok := val.(int)
	fmt.Println(val)
}
